Main metodu bildiğimiz gibi her programın başlangıç noktasıdır ve C# programlama dilinde şu şekilde yazılır:
static void Main(string[] args) {...}
Peki sıfır noktasında olan bir metoda biz parametre gönderemiyorsak Main metodu içerisindeki string[] args parametresinin anlamı nedir?
Aslında Main metoduna da parametre gönderebilmek mümkündür ve buradaki string veri tipindeki dizi parametreleri de bu amaca hizmet etmektedir. Bu da bir uygulamaya başlangıç aşamasında tüm gerekli parametreleri dışarıdan yükleyebilmek amacıyla kullanılmaktadır.
Visual Studio'da uygulamanızın debug menüsünde Application Arguments kutucuğunu görebilirsiniz, bu kutucuğa sınırsız sayıda string parametre ekleyebilir (aralarında boşluk bırakarak) ve uygulamanızı da bu parametreleri Main metodunda içerecek şekilde çalıştırabilirsiniz. Örneğin adınızı uygulama parametresi olarak eklediğinizde Main metodu içerisinde args[0] ile adınıza Main metodu içerisinden erişebilisiniz.
Peki konsol uygulamamızı exe olarak yayına aldıktan sonra ve artık visual studio ve debug modu kullanmadığımızda Main metodun nasıl parametre ekleyebiliriz? Şu şekilde:
static void Main(string[] args)
{
if (args.Length == 0)
System.Console.WriteLine("Lütfen exe dosyasını parametre göndererek çalıştırın");
else
System.Console.WriteLine("Merhaba {0}", args[0]);
}
CMD içerisinde exe dosyasını şu şekilde çalıştıralım:
.../program.exe mbologlu
Çıktı:
Merhaba mbologlu
Önceki benzer yazılarımdan bazıları için;
bkz: C# ile params anahtar sözcüğü kullanımı ve örnekleri
bkz: C# Programlama Dilinde Koleksiyon Nedir?
bkz: Programlama dillerinde hata ayıklama (debugging) nasıl yapılır?
bkz: C# ArrayList IndexOf Metodu Kullanımı
bkz: C# ile pürüzlü dizi (jagged array) kullanımı
bkz: C# ile içinde elemanlarla birlikte dizi tanımlamak